Conversation
…are diagnosable The previous '& uv ... 2>&1' inside a try/catch with $ErrorActionPreference=Stop silently swallowed all uv output: PowerShell treated native stderr items as errors and threw before the assignment completed, leaving $output as $null. Users hit 'Install failed after 3 attempts' followed by '(no output captured)' with no way to diagnose. Replace with Start-Process -RedirectStandardOutput/-RedirectStandardError to temp files, then read both back. This works regardless of ErrorActionPreference and gives users the actual uv error every time. Also include the exit code in the failure header and a fallback hint pointing at the bare uv command they can run manually if even Start-Process produces nothing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Merged
jrob5756
added a commit
that referenced
this pull request
May 6, 2026
- conductor resume flag parity with run (#158) - reasoning effort displayed in dashboard (#160) - iteration_limit_reached/resolved events for dashboard (#162) - registry latest now means default branch HEAD, not newest tag (#157) - forbid extra fields on Agent/Parallel/ForEach/Workflow schemas (#159) - pretty-print tool args/results in dashboard events (#161) - capture uv stdout+stderr on Windows install failure (#156) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Reported by a user hitting an install failure on Windows: `install.ps1` reports
```
Install failed after 3 attempts.
── uv tool install output ──
(no output captured)
```
… leaving the user with no way to diagnose the failure.
Root cause
`install.ps1` sets `$ErrorActionPreference = 'Stop'` at the top, then runs:
```powershell
$output = $null
try {
$output = & uv tool install ... 2>&1
} catch {
# PowerShell treats native stderr as errors when ErrorActionPreference=Stop
}
```
When uv writes to stderr, PowerShell with `Stop` treats the stderr items as terminating errors and throws before the assignment completes, so `$output` stays `$null`. The catch swallows the actual error message. The exit-code check then fails and we display "(no output captured)".
Fix
Use `Start-Process -RedirectStandardOutput -RedirectStandardError` to temp files and read them back:
```powershell
$proc = Start-Process -FilePath 'uv' `
-ArgumentList @('tool', 'install', '--force', $installUrl, '-c', $constraintsFile) `
-NoNewWindow -Wait -PassThru `
-RedirectStandardOutput $stdoutFile `
-RedirectStandardError $stderrFile
$lastOutput = (@(Get-Content $stdoutFile -Raw, Get-Content $stderrFile -Raw) | Where-Object { $_ } | Out-String).Trim()
$lastExitCode = $proc.ExitCode
```
This bypasses PowerShell's native-error handling entirely. Output is captured every time.
Additional improvements:
Verification